[INFO] cloning repository https://github.com/Peter-JanGootzen/circuit_simulator.rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Peter-JanGootzen/circuit_simulator.rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPeter-JanGootzen%2Fcircuit_simulator.rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPeter-JanGootzen%2Fcircuit_simulator.rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3bbd0629d16640ab11539478b044ddb428f3d6fd
[INFO] checking Peter-JanGootzen/circuit_simulator.rs against master#e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682 for beta-170-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPeter-JanGootzen%2Fcircuit_simulator.rs" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Peter-JanGootzen/circuit_simulator.rs on toolchain e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Peter-JanGootzen/circuit_simulator.rs
[INFO] finished tweaking git repo https://github.com/Peter-JanGootzen/circuit_simulator.rs
[INFO] tweaked toml for git repo https://github.com/Peter-JanGootzen/circuit_simulator.rs written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/Peter-JanGootzen/circuit_simulator.rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 23f41ad164778e42d373b604f7e708429374c86fac2190678350a7a77efd1f5e
[INFO] running `Command { std: "docker" "start" "-a" "23f41ad164778e42d373b604f7e708429374c86fac2190678350a7a77efd1f5e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "23f41ad164778e42d373b604f7e708429374c86fac2190678350a7a77efd1f5e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "23f41ad164778e42d373b604f7e708429374c86fac2190678350a7a77efd1f5e", kill_on_drop: false }`
[INFO] [stdout] 23f41ad164778e42d373b604f7e708429374c86fac2190678350a7a77efd1f5e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bcfbdbc4adb3626983e886779484c6694aeb81b6595e3697d99ea13de6f62915
[INFO] running `Command { std: "docker" "start" "-a" "bcfbdbc4adb3626983e886779484c6694aeb81b6595e3697d99ea13de6f62915", kill_on_drop: false }`
[INFO] [stderr]    Compiling pkg-config v0.3.14
[INFO] [stderr]    Compiling libc v0.2.54
[INFO] [stderr]     Checking bitflags v1.0.4
[INFO] [stderr]     Checking lazy_static v1.3.0
[INFO] [stderr]    Compiling gio v0.6.0
[INFO] [stderr]    Compiling syn v0.15.35
[INFO] [stderr]     Checking fragile v0.3.0
[INFO] [stderr]    Compiling pango v0.6.0
[INFO] [stderr]    Compiling cairo-rs v0.6.0
[INFO] [stderr]    Compiling gdk-pixbuf v0.6.0
[INFO] [stderr]    Compiling quote v0.6.12
[INFO] [stderr]    Compiling gdk v0.10.0
[INFO] [stderr]    Compiling atk v0.6.0
[INFO] [stderr]     Checking unicode-width v0.1.5
[INFO] [stderr]    Compiling gtk v0.6.0
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking vec_map v0.8.1
[INFO] [stderr]     Checking objekt v0.1.2
[INFO] [stderr]     Checking mopa v0.2.2
[INFO] [stderr]    Compiling glib-sys v0.8.0
[INFO] [stderr]    Compiling gobject-sys v0.8.0
[INFO] [stderr]    Compiling gio-sys v0.8.0
[INFO] [stderr]    Compiling cairo-sys-rs v0.8.0
[INFO] [stderr]    Compiling pango-sys v0.8.0
[INFO] [stderr]    Compiling gdk-pixbuf-sys v0.8.0
[INFO] [stderr]    Compiling atk-sys v0.8.0
[INFO] [stderr]    Compiling gdk-sys v0.8.0
[INFO] [stderr]    Compiling gtk-sys v0.8.0
[INFO] [stderr]     Checking atty v0.2.11
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]     Checking glib v0.7.1
[INFO] [stderr]    Compiling objekt-clonable-impl v0.2.2
[INFO] [stderr]     Checking objekt-clonable v0.2.2
[INFO] [stderr]     Checking circuit_simulator v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::models::node::Node`
[INFO] [stdout]  --> src/models/gates/signal_gate.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::models::node::Node;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/models/gates/signal_gate.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/models/gates/signal_gate.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/models/visitor.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/models/visitor.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::Ref`
[INFO] [stdout]  --> src/models/visitor.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::cell::Ref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/models/visitor.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::exit`
[INFO] [stdout]  --> src/circuit_checking/strategies/lax_check_strategy.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::process::exit;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::circuit_checking::checkers::infinite_loop_checker::InfiniteLoopChecker`
[INFO] [stdout]  --> src/tests/strategy.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::circuit_checking::checkers::infinite_loop_checker::InfiniteLoopChecker;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::circuit_checking::checker::Checker`
[INFO] [stdout]  --> src/tests/strategy.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::circuit_checking::checker::Checker;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::models::circuit::Circuit`
[INFO] [stdout]  --> src/tests/strategy.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::models::circuit::Circuit;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::models::node::Node`
[INFO] [stdout]  --> src/models/gates/signal_gate.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::models::node::Node;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::models::node::Node`
[INFO] [stdout]  --> src/tests/strategy.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::models::node::Node;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/models/gates/signal_gate.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/models/gates/signal_gate.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::models::output::Output`
[INFO] [stdout]  --> src/tests/strategy.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::models::output::Output;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/models/visitor.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/models/visitor.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/tests/strategy.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::Ref`
[INFO] [stdout]  --> src/models/visitor.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::cell::Ref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/models/visitor.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::models::gates::not_gate::NotGate`
[INFO] [stdout]  --> src/tests/strategy.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::models::gates::not_gate::NotGate;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::exit`
[INFO] [stdout]  --> src/circuit_checking/strategies/lax_check_strategy.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::process::exit;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::models::gates::and_gate::AndGate`
[INFO] [stdout]  --> src/tests/strategy.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::models::gates::and_gate::AndGate;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::models::gates::signal_gate::SignalGate`
[INFO] [stdout]  --> src/tests/strategy.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::models::gates::signal_gate::SignalGate;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]   --> src/tests/strategy.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::cell::RefCell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/models/node.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 |             _ => None
[INFO] [stdout]    |             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delay`
[INFO] [stdout]   --> src/models/gates/or_gate.rs:19:31
[INFO] [stdout]    |
[INFO] [stdout] 19 |                 Output::False(delay) => {
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_delay`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/creation/builders/circuit_builder.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let mut nodes: RefCell<Vec<Rc<RefCell<Node>>>> = RefCell::new(vec![]);
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/tests/strategy.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 |         inputs: RefCell::new(vec![false_signal_node.clone()])
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Rc<RefCell<Node>>`, found `Rc<Node>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Rc<RefCell<Node>>`
[INFO] [stdout]               found struct `Rc<Node>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CompositeNodeStruct` is never constructed
[INFO] [stdout]   --> src/models/node.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct CompositeNodeStruct {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_delay` is never used
[INFO] [stdout]   --> src/models/circuit.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Circuit {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn get_delay(&self) -> Vec<u32> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/creation/factories/node_factory.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl<'a> LowBindingNodeFactory {
[INFO] [stdout]    | ------------------------------ associated function in this implementation
[INFO] [stdout] 37 |     pub fn new() -> LowBindingNodeFactory {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show_error` is never used
[INFO] [stdout]   --> src/gui.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn show_error(error: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_file_chooser` is never used
[INFO] [stdout]   --> src/gui.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn open_file_chooser() -> Result<String, &'static str> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Warning` is never constructed
[INFO] [stdout]  --> src/circuit_checking/checker_message.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum CheckerMessage {
[INFO] [stdout]   |          -------------- variant in this enum
[INFO] [stdout] 2 |     Warning(&'static str),
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/main.rs:38:32
[INFO] [stdout]    |
[INFO] [stdout] 38 |         Err(message) => panic!(message)
[INFO] [stdout]    |                                ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 38 |         Err(message) => panic!("{}", message)
[INFO] [stdout]    |                                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Map` that must be used
[INFO] [stdout]   --> src/models/circuit.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | /         self.get_output_nodes().iter().map(|node| delays.push(match node.borrow().get_output() {
[INFO] [stdout] 35 | |             Output::True(delay) => delay.clone(),
[INFO] [stdout] 36 | |             Output::False(delay) => delay.clone(),
[INFO] [stdout] 37 | |         }));
[INFO] [stdout]    | |___________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: iterators are lazy and do nothing unless consumed
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let _ = self.get_output_nodes().iter().map(|node| delays.push(match node.borrow().get_output() {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `Iterator::map` call that discard the iterator's values
[INFO] [stdout]   --> src/models/circuit.rs:34:40
[INFO] [stdout]    |
[INFO] [stdout] 34 |             self.get_output_nodes().iter().map(|node| delays.push(match node.borrow().get_output() {
[INFO] [stdout]    |                                            ^   ------
[INFO] [stdout]    |                                            |   |
[INFO] [stdout]    |  __________________________________________|___this function returns `()`, which is likely not what you wanted
[INFO] [stdout]    | |  ________________________________________|
[INFO] [stdout]    | | |
[INFO] [stdout] 35 | | |             Output::True(delay) => delay.clone(),
[INFO] [stdout] 36 | | |             Output::False(delay) => delay.clone(),
[INFO] [stdout] 37 | | |         }));
[INFO] [stdout]    | | |          -^ after this call to map, the resulting iterator is `impl Iterator<Item = ()>`, which means the only information carried by the iterator is the number of items
[INFO] [stdout]    | | |__________||
[INFO] [stdout]    | |____________|
[INFO] [stdout]    |              called `Iterator::map` with callable that returns `()`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Iterator::map`, like many of the methods on `Iterator`, gets executed lazily, meaning that its effects won't be visible until it is iterated
[INFO] [stdout]    = note: `#[warn(map_unit_fn)]` on by default
[INFO] [stdout] help: you might have meant to use `Iterator::for_each`
[INFO] [stdout]    |
[INFO] [stdout] 34 |         self.get_output_nodes().iter().for_each(|node| delays.push(match node.borrow().get_output() {
[INFO] [stdout]    |                                        ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/creation/circuit_loader.rs:16:37
[INFO] [stdout]    |
[INFO] [stdout] 16 |             Some(message) => panic!(message),
[INFO] [stdout]    |                                     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 16 |             Some(message) => panic!("{}", message),
[INFO] [stdout]    |                                     +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/creation/circuit_loader.rs:22:37
[INFO] [stdout]    |
[INFO] [stdout] 22 |             Some(message) => panic!(message),
[INFO] [stdout]    |                                     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 22 |             Some(message) => panic!("{}", message),
[INFO] [stdout]    |                                     +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/tests/strategy.rs:25:45
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let circuit = Circuit::new(RefCell::new(all_nodes), RefCell::new(vec![not_node.clone()]));
[INFO] [stdout]    |                                ------------ ^^^^^^^^^ expected `Vec<Rc<RefCell<Node>>>`, found `Vec<Rc<Node>>`
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Vec<Rc<RefCell<Node>>>`
[INFO] [stdout]               found struct `Vec<Rc<Node>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /rustc/e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682/library/core/src/cell.rs:782:18
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 32 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/tests/strategy.rs:25:75
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let circuit = Circuit::new(RefCell::new(all_nodes), RefCell::new(vec![not_node.clone()]));
[INFO] [stdout]    |                                                                           ^^^^^^^^^^^^^^^^ expected `Rc<RefCell<Node>>`, found `Rc<Node>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Rc<RefCell<Node>>`
[INFO] [stdout]               found struct `Rc<Node>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/tests/strategy.rs:38:35
[INFO] [stdout]    |
[INFO] [stdout] 38 |         inputs: RefCell::new(vec![false_signal_node.clone()])
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Rc<RefCell<Node>>`, found `Rc<Node>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Rc<RefCell<Node>>`
[INFO] [stdout]               found struct `Rc<Node>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/tests/strategy.rs:41:35
[INFO] [stdout]    |
[INFO] [stdout] 41 |         inputs: RefCell::new(vec![not_node.clone()])
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^ expected `Rc<RefCell<Node>>`, found `Rc<Node>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Rc<RefCell<Node>>`
[INFO] [stdout]               found struct `Rc<Node>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/tests/strategy.rs:43:24
[INFO] [stdout]    |
[INFO] [stdout] 43 |     and_node.add_input(and_node.clone());
[INFO] [stdout]    |              --------- ^^^^^^^^^^^^^^^^ expected `Rc<RefCell<Node>>`, found `Rc<Node>`
[INFO] [stdout]    |              |
[INFO] [stdout]    |              arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Rc<RefCell<Node>>`
[INFO] [stdout]               found struct `Rc<Node>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> src/models/node.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn add_input(&mut self, node: Rc<RefCell<Node>>) {
[INFO] [stdout]    |            ^^^^^^^^^            -----------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/tests/strategy.rs:49:45
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let circuit = Circuit::new(RefCell::new(all_nodes), RefCell::new(vec![not_node.clone()]));
[INFO] [stdout]    |                                ------------ ^^^^^^^^^ expected `Vec<Rc<RefCell<Node>>>`, found `Vec<Rc<Node>>`
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Vec<Rc<RefCell<Node>>>`
[INFO] [stdout]               found struct `Vec<Rc<Node>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /rustc/e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682/library/core/src/cell.rs:782:18
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/tests/strategy.rs:49:75
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let circuit = Circuit::new(RefCell::new(all_nodes), RefCell::new(vec![not_node.clone()]));
[INFO] [stdout]    |                                                                           ^^^^^^^^^^^^^^^^ expected `Rc<RefCell<Node>>`, found `Rc<Node>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Rc<RefCell<Node>>`
[INFO] [stdout]               found struct `Rc<Node>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors; 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `circuit_simulator` (bin "circuit_simulator" test) due to 9 previous errors; 8 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "bcfbdbc4adb3626983e886779484c6694aeb81b6595e3697d99ea13de6f62915", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bcfbdbc4adb3626983e886779484c6694aeb81b6595e3697d99ea13de6f62915", kill_on_drop: false }`
[INFO] [stdout] bcfbdbc4adb3626983e886779484c6694aeb81b6595e3697d99ea13de6f62915
